步驟 6:新增對測試儀表板的支援

新增支援以將我們的測試結果提交到儀表板非常簡單。我們已經在 測試支援 中為我們的專案定義了許多測試。現在我們只需要執行這些測試並將它們提交到 CDash。

練習 1 - 將結果傳送到測試儀表板

目標

使用 CDash 顯示我們的 CTest 結果。

實用資源

要編輯的檔案

  • CMakeLists.txt

開始入門

對於此練習,請完成頂層 CMakeLists.txt 中的 TODO 1,方法是包含 CTest 模組。這將啟用使用 CTest 進行測試以及提交儀表板到 CDash,因此我們可以安全地移除對 enable_testing() 的呼叫。

我們還需要取得一個 CTestConfig.cmake 檔案,放置在頂層目錄中。執行時,ctest 可執行檔將讀取此檔案以收集有關測試儀表板的資訊。它包含

  • 專案名稱

  • 專案 "Nightly" 開始時間

    • 此專案 24 小時「日」開始的時間。

  • CDash 實例的 URL,提交產生的文件將被傳送到該實例

對於本教學,使用公共儀表板伺服器,並且在此步驟的根目錄中為您提供了相應的 CTestConfig.cmake 檔案。實際上,此檔案將從專案在 CDash 實例上的 設定 頁面下載,旨在託管測試結果。從 CDash 下載後,不應在本地修改該檔案。

CTestConfig.cmake
set(CTEST_PROJECT_NAME "CMakeTutorial")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
set(CTEST_DROP_SITE_CDASH TRUE)

建置與執行

請注意,作為 CDash 提交的一部分,有關您開發系統的一些資訊(例如網站名稱或完整路徑名稱)可能會公開顯示。

要建立一個簡單的測試儀表板,請執行 cmake 可執行檔或 cmake-gui 來配置專案,但暫時不要建置它。相反地,導航到建置目錄並執行

ctest [-VV] -D Experimental

請記住,對於多配置產生器(例如 Visual Studio),必須指定配置類型

ctest [-VV] -C Debug -D Experimental

或者,從 IDE 中,建置 Experimental 目標。

ctest 可執行檔將建置專案、執行任何測試,並將結果提交到 Kitware 的公共儀表板:https://my.cdash.org/index.php?project=CMakeTutorial

解決方案

在此步驟中唯一需要變更的 CMake 程式碼是透過在我們的頂層 CMakeLists.txt 中包含 CTest 模組來啟用提交儀表板到 CDash

TODO 1:點擊以顯示/隱藏答案
TODO 1: CMakeLists.txt
include(CTest)